The present disclosure relates generally to communication systems, and more particularly, to concepts and techniques for compensating for clock mismatch.
Peer-to-peer networks are commonly used for connecting wireless nodes via adhoc connections. These networks differ from the traditional client-server model where communications are usually with a central server. A peer-to-peer network has only equal peer nodes that communicate directly with one another. Such networks are useful for many purposes. A peer-to-peer network may be used, for example, as a consumer electronic wire replacement system for short range or indoor applications. These networks are sometimes referred to as Wireless Personal Area Networks (WPAN) and are useful for efficiently transferring video, audio, voice, text, and other media between wireless nodes over a short distance. A WPAN may provide connectivity for nodes in a home or a small office or may be used to provide connectivity for nodes carried by a person. In a typical scenario, a WPAN may provide connectivity for nodes within a range on the order of tens of meters.
In a communication system between two nodes, there may sometimes exist mismatches between a transmitting node's clock and a receiving node's clock. Here, the transmitting node may transmit data synchronized to the transmit clock and the receiving node may consume data synchronized to the receive clock. Depending on the receive clock leading or lagging the transmit clock, a buffer underflow or buffer overflow condition may occur in the receiving node. This may lead to artifacts (e.g., audio distortions for speech and audio services) or loss of communication in a worse case.
One technique for addressing such a problem is making the transmit clock available to the receiving node and using the transmit clock to consume data. In practice, such a technique could be relatively complex if a node is configured to receive data from multiple transmitting nodes and also configured to simultaneously transmit data to multiple nodes. This additional complexity may increase the hardware cost and, if applicable, reduce the battery life of the node.
Another approach is to modify the receive buffer using dynamic time-warping. Time warping solutions modify the size of the buffer by upsampling or downsampling. These approaches involve spectral domain processing or autocorrelation methods in the time domain. These approaches are computationally expensive and result in additional delays that are not practical in some applications.
Consequently, there exists a need for a low complexity and low cost techniques to compensate for transmit and receive clock mismatch between communication nodes.